package com.cykj.pos.service;

import com.cykj.pos.domain.BizMerchIntegral;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cykj.pos.domain.BizPosBrandType;
import com.cykj.pos.domain.BizPosType;
import com.cykj.pos.domain.dto.IntegralDTO;
import com.cykj.pos.domain.dto.IntegralDetailDTO;
import com.cykj.pos.domain.dto.MsgMerchIntegralDTO;
import com.cykj.pos.profit.dto.MessageDTO;
import com.cykj.pos.profit.dto.TeamPartnerDTO;

import java.util.List;
import java.util.Map;

/**
 * 积分管理Service接口
 *
 * @author weijianbo
 * @date 2021-02-19
 */
public interface IBizMerchIntegralService extends IService<BizMerchIntegral> {

    /**
     * 查询列表
     */
    List<BizMerchIntegral> queryList(BizMerchIntegral bizMerchIntegral);

    /**
     * 根据条件查询积分明细
     * @param integralDTO
     * @return
     */
    List getIntegralList(IntegralDTO integralDTO);

    /**
     * 根据消息id查询积分信息
     * @param messageDTO
     * @return
     */
    MsgMerchIntegralDTO getMerchIntegralByMsgId(MessageDTO messageDTO);

    /**
     * 查当前人的上一级
     * @param pId
     * @return
     */
    TeamPartnerDTO getLastPerson(Long pId);

    /**
     * 查当前登陆人的团队
     * @param DTO
     * @return
     */
    List<TeamPartnerDTO> getTeamParner(TeamPartnerDTO DTO);

    /**
     * 查询所有伙伴
     * @param dto
     * @return
     */
    List<TeamPartnerDTO> getAllParner(TeamPartnerDTO dto);

    /**
     * 查询所有pos类型
     * @return
     */
    List<BizPosType> getPosTypeList();

    /**
     * 获得POS机品牌（包含类型列表）
     * @return
     */
    List<BizPosBrandType> getPosBrandList();
}
